package com.gugee.ins.data.blogger.statistics.config;

import com.alibaba.nacos.api.config.annotation.NacosValue;
import lombok.Getter;
import org.springframework.stereotype.Component;

@Component
@Getter
public class BloggerStatisticsAppConfig {

    /**
     * 统计后保存的名次数
     */
    @NacosValue(value="${com.gugee.ins.data.blogger.statistics.top:5}", autoRefreshed = true)
    int stTop;

    /**
     * 活跃粉丝关注的品牌TOP数
     */
    @NacosValue(value="${com.gugee.ins.data.blogger.statistics.active.follower.brand.top:20}", autoRefreshed = true)
    int activeFollowerBrandTop;
    /**
     * 活跃粉丝数据统计线程数
     */
    @NacosValue(value="${com.gugee.ins.data.blogger.statistics.activeFollower.data.threadPool.size:50}", autoRefreshed = true)
    int bloggerActiveFollowerDataThreadPoolSize;

    /**
     * 真实粉丝统计线程数
     */
    @NacosValue(value="${com.gugee.ins.data.blogger.statistics.realFollower.threadPool.size:50}", autoRefreshed = true)
    int bloggerRealFollowerThreadPoolSize;

    /**
     * 商品统计线程数
     */
    @NacosValue(value="${ins.data.threadpools.insProductBaseSt.corePollSize:50}", autoRefreshed = true)
    int insProductBaseSt;

    /**
     * 统计播主时限,单位分钟
     */
    @NacosValue(value="${com.gugee.ins.data.blogger.statistics.maxLimitTime:60}", autoRefreshed = true)
    long acceptMsgClMaxLimitTime;

    /**
     * 数据查询时间范围
     */
    @NacosValue(value = "${ins.data.collector.query.latestDays:30}", autoRefreshed = true)
    int latestDays;


    /**
     * 更新大播主基础数据到ES对列
     */
    @NacosValue(value = "${kafka.topics.insMBloggerUpdateEs.online}", autoRefreshed = true)
    String insMBloggerUpdateEsTopic;

    /**
     * 更新大播主活跃粉丝数据到ES对列
     */
    @NacosValue(value = "${kafka.topics.insMBloggerActiveFollowerDataToEs.online}",autoRefreshed = true)
    String insMBloggerActiveFollowerDataToEsTopic;

    /**
     * 更新大播主真实粉丝数据到ES对列
     */
    @NacosValue(value = "${kafka.topics.insMBloggerRealFollowerEs.online}",autoRefreshed = true)
    String insMBloggerRealFollowerToEsTopic;

    /**
     * 更新大播主广告帖子相关数据到ES对列
     */
    @NacosValue(value = "${kafka.topics.insMBMediaAdEs.online}",autoRefreshed = true)
    String insMBMediaAdToEsTopic;

    /**
     * insMBMediaAdToEs 消息重发最大次数
     */
    @NacosValue(value="${ins.data.statistics.message.insMBMediaAdEs.retry:1}", autoRefreshed = true)
    int insMBMediaAdToEsRetryTimes;

    /**
     * 统计广告帖相关数据后不统计,单位小时
     */
    @NacosValue(value="${ins.data.statistics.adMedia.intervals.hour:24}", autoRefreshed = true)
    int stAdMediaIntervalHours;

    /**
     * 统计性别、年龄、人种相关数据后不统计,单位小时
     */
    @NacosValue(value="${ins.data.statistics.gender.intervals.hour:24}", autoRefreshed = true)
    int stGenderIntervalHours;

    /**
     * 统计收入相关数据后不统计,单位小时
     */
    @NacosValue(value="${ins.data.statistics.income.intervals.hour:24}", autoRefreshed = true)
    int stIncomeIntervalHours;

    /**
     * 统计品牌相关数据后不统计,单位小时
     */
    @NacosValue(value="${ins.data.statistics.brand.intervals.hour:24}", autoRefreshed = true)
    int stBrandIntervalHours;

    /**
     * 统计国家相关数据后不统计,单位小时
     */
    @NacosValue(value="${ins.data.statistics.nation.intervals.hour:24}", autoRefreshed = true)
    int stNationIntervalHours;

    /**
     * 统计语言相关数据后不统计,单位小时
     */
    @NacosValue(value="${ins.data.statistics.language.intervals.hour:24}", autoRefreshed = true)
    int stLanguageIntervalHours;

    /**
     * 统计商品数据后不统计,单位小时
     */
    @NacosValue(value="${ins.data.statistics.product.intervals.hour:24}", autoRefreshed = true)
    int stProductIntervalHours;

    /**
     * 统计商品被帖子提及的帖子时间范围,单位天
     */
    @NacosValue(value="${ins.data.statistics.product.last.tag.mediaMonth.day:30}", autoRefreshed = true)
    int stProductLastTagMediaDay;

    @NacosValue(value = "${ins.es.product.index:ins_product}", autoRefreshed = true)
    String productIndex;
}
